From: Erik Bernhardson Date: Fri, 27 Feb 2015 00:19:27 +0000 (-0800) Subject: Gracefully handle redirects in SpecialMyLanguage X-Git-Tag: 1.31.0-rc.0~12246^2 X-Git-Url: http://git.cyclocoop.org//%22http:/%22.attribut_html%28%24lesurls%5B%24numero%5D%29.%22/%22?a=commitdiff_plain;h=5248dfa7ad189f6ea7581e6dd350afcc4bb1fe17;p=lhc%2Fweb%2Fwiklou.git Gracefully handle redirects in SpecialMyLanguage Currently if you have a link that goes through SpecialMyLanguage and that page is redirected you will no longer get it in your language. This adjusts to follow redirects before resolving language. Bug: T58036 Change-Id: I88fcfeb86d81a33a8eccc6119693c2ecb857afb2 --- diff --git a/includes/specials/SpecialMyLanguage.php b/includes/specials/SpecialMyLanguage.php index 71b18930c8..6cea15818c 100644 --- a/includes/specials/SpecialMyLanguage.php +++ b/includes/specials/SpecialMyLanguage.php @@ -80,6 +80,11 @@ class SpecialMyLanguage extends RedirectSpecialArticle { return null; } + if ( $base->isRedirect() ) { + $page = new WikiPage( $base ); + $base = $page->getRedirectTarget(); + } + $uiCode = $this->getLanguage()->getCode(); $proposed = $base->getSubpage( $uiCode ); if ( $uiCode !== $this->getConfig()->get( 'LanguageCode' ) && $proposed && $proposed->exists() ) {